using System;
using Microsoft.Xna.Framework;

namespace Dude_Platformer
{
    /// <summary>
    /// Behavior is the base class for the three behaviors in this sample: chasing, 
    /// evading, and wandering. It is an abstract class, leaving the implementation of 
    /// Update up to its subclasses. Entity objects keep track of their current behavior
    /// and tell it to update.
    /// </summary>
    public abstract class Behavior
    {
        /// <summary>
        /// Keep track of the entity that this behavior will modify.
        /// </summary>
        public Enemy Entity
        {
            get { return entity; }
            set { entity = value; }
        }
        private Enemy entity;


        protected Behavior(Enemy entity)
        {
            this.entity = entity;
        }

        public abstract void Update(GameTime gameTime);
    }
}
